// components/component1/component1.js
Component({
  /**
   * 组件选项
   */
  options: {
    
  },
  /**
   * 组件的属性列表
   */
  properties: {
    myProperty:{  //属性名
      type:String,      //类型（必填） String,Number,Boolear,Object,Array,null(任意类型)
      value:'',       //属性原始值（可选），如果未指定则会根据类型选择一个
      observer: function (newVal, oldVal) { }  //属性被改变时执行的函数，也可以写成在methods段中定义的方法名字符串, 如：'_propertyChange'
    },
    myProperty2:String  //简化的定义方式
  },

  /**
   * 组件的初始数据
   */
  data: {   //私有数据，用于模板渲染
    A:[
      {
        B:'init data.A[0].B'
      }
    ]
  },

  /**
   * 组件的方法列表
   */
  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  attached: function () { },
  moved: function () { },
  detached: function () { },
  
  methods: {
    // 内部方法建议以下划线开头
    _onMyButtonTap:function(){
      this.setData({
        myProperty: this.properties.myProperty+'A'
      })
    },
    _propertyChange: function (newVal, oldVal) {  // 内部方法建议以下划线开头

    } 
  }
})
